package com.dingreading.cloud.soms.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 课后评价表 实体类。
 *
 * @author EDY
 * @since 2025-11-04
 */
@Data
@Table("ca_lesson_evaluate")
public class CaLessonEvaluate implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @Id(keyType = KeyType.Auto)
    private Long id;

    /**
     * 评价uid
     */
    private String uid;

    /**
     * 点名uid
     */
    private String callNamesUid;

    /**
     * 伙伴uid
     */
    private String agencyUid;

    /**
     * 门店uid
     */
    private String storeUid;

    /**
     * 主讲导读uid
     */
    private String teacherUid;

    /**
     * 主讲导读名
     */
    private String teacherName;

    /**
     * 学生uid
     */
    private String studentUid;

    /**
     * 学生名称
     */
    private String studentName;

    /**
     * 学生手机号码
     */
    private String phone;

    /**
     * 课程表uid
     */
    private String scheduleUid;

    /**
     * 活动uid
     */
    private String lessonUid;

    /**
     * 活动日期
     */
    private String teachDate;

    /**
     * 服务uid
     */
    private String projectUid;

    /**
     * 服务项目名称
     */
    private String projectName;

    /**
     * 关联的班级UID
     */
    private String classUid;

    /**
     * 关联的班级名称
     */
    private String className;

    /**
     * 活动开始时间 HH:mm
     */
    private String beginTime;

    /**
     * 活动结束时间 HH:mm
     */
    private String endTime;

    /**
     * 老师给学生的分数 (例如1-5星)
     */
    private Integer teacherScore;

    /**
     * 老师给学生的评语
     */
    private String teacherComment;

    /**
     * 学生给老师的分数 (例如1-5星)
     */
    private Integer studentScore;

    /**
     * 学生给老师的评语
     */
    private String studentComment;

    /**
     * 添加时间
     */
    @Column(onInsertValue = "now()")
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date addTime;

    /**
     * 更新时间
     */
    @Column(onInsertValue = "now()", onUpdateValue = "now()")
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date editTime;

    /**
     * 创建人uid
     */
    private String addStaffUid;

    /**
     * 创建人姓名
     */
    private String addStaffName;

    /**
     * 更新人uid
     */
    private String lastStaffUid;

    /**
     * 更新人姓名
     */
    private String lastStaffName;

    /**
     * 阶段uid
     */
    private String stageUid;

    /**
     * 阶段名称
     */
    private String stageName;

    /**
     * 周几，系统内数字
     */
    private Integer weekNum;

    /**
     * 周几，例如：周一
     */
    private String weekName;

}
